home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / ole2book.zip / CHAP06.ZIP / CHAP06 / DDATAOBJ / MAKEFILE < prev    next >
Text File  |  1993-04-14  |  3KB  |  105 lines

  1. #
  2. # MAKEFILE
  3. # Data Object DLL Chapter 6
  4. #
  5. # Copyright (c)1993 Microsoft Corporation, All Rights Reserved
  6. #
  7. # Kraig Brockschmidt, Software Design Engineer
  8. # Microsoft Systems Developer Relations
  9. #
  10. # Internet  :  kraigb@microsoft.com
  11. # Compuserve:  >INTERNET:kraigb@microsoft.com
  12. #
  13.  
  14. #Add '#' to the next line for 'noisy' operation
  15. !CMDSWITCHES +s
  16.  
  17. #
  18. #Compiler flags
  19. #Use "SET RETAIL=1" from MS-DOS to compile non-debug version.
  20. #
  21. !ifndef RETAIL
  22. CFLAGS  = -c -nologo -Od -AS -Zipe -G2s -W3 -GA -GEd -Aw
  23. LINK    = /al:16/ONERROR:NOEXE/CO
  24. DEFS    = -DSTRICT -D_WINDLL -DDEBUG
  25.  
  26. !else
  27. CFLAGS  = -c -nologo -Oat -AS -Zpe -G2s -W3 -GA -GEd -Aw
  28. LINK    = /al:16/ONERROR:NOEXE
  29. DEFS    = -DSTRICT -D_WINDLL
  30. !endif
  31.  
  32. .SUFFIXES: .h .obj .exe .cpp .res .rc
  33.  
  34. TARGET  = ddataobj
  35. PCHFILE = dataobj.h
  36.  
  37. goal:   precomp.pch $(TARGET).dll
  38.  
  39. clean:
  40.     del *.pch
  41.     del *.obj
  42.     del *.res
  43.     del *.dll
  44.  
  45.  
  46. PCHFLAGS= -Yu$(PCHFILE) -Fpprecomp.pch
  47.  
  48. LIBS    = libw sdllcew compobj ole2 storage
  49. INCLS   = $(TARGET).h dataobj.h
  50.  
  51. OBJS1   = $(TARGET).obj dataobj.obj idataobj.obj
  52. OBJS2   = ienumfe.obj render.obj
  53. OBJS    = $(OBJS1) $(OBJS2)
  54. RCFILES = 16.bmp 64.bmp 256.bmp advisor.ico
  55.  
  56.  
  57. #####
  58.  
  59. .cpp.obj:
  60.     echo +++++++++
  61.     echo Compiling $*.cpp
  62.     cl $(CFLAGS) $(PCHFLAGS) $(DEFS) $*.cpp
  63.  
  64. .rc.res:
  65.     echo +++++++++
  66.     echo Compiling Resources
  67.     rc -r $(DEFS) $*.rc
  68.  
  69. precomp.pch : $(PCHFILE)
  70.     echo +++++++++
  71.     echo Precompiling $(PCHFILE)
  72.     cl $(CFLAGS) $(DEFS) -Yc$(PCHFILE) -Fpprecomp.pch -Foprecomp precomp.cpp
  73.  
  74.  
  75. #This rule builds a linker response file on the fly depending on debug flags
  76. $(TARGET).dll : $(OBJS) $(TARGET).res $(TARGET).def
  77.     echo ++++++++++
  78.     echo Linking $@
  79.     echo libentry.obj precomp.obj +              > $(TARGET).lrf
  80.     echo $(OBJS1) +                             >> $(TARGET).lrf
  81.     echo $(OBJS2)                               >> $(TARGET).lrf
  82.  
  83.     echo $(TARGET).dll $(LINK)                  >> $(TARGET).lrf
  84.     echo nul/li                                 >> $(TARGET).lrf
  85.     echo $(LIBS)/NOD/NOE                        >> $(TARGET).lrf
  86.     echo $(TARGET).def                          >> $(TARGET).lrf
  87.  
  88.     link @$(TARGET).lrf
  89.     rc -v $(TARGET).res $(TARGET).dll
  90.     del $(TARGET).lrf
  91.  
  92.  
  93. ##### Dependencies #####
  94.  
  95. $(TARGET).obj : $(TARGET).cpp $(INCLS)
  96.     echo +++++++++
  97.     echo Compiling $*.cpp
  98.     cl -nologo $(CFLAGS) $(DEFS) $*.cpp
  99.  
  100. dataobj.obj   : dataobj.cpp   $(INCLS)
  101. idataobj.obj  : idataobj.cpp  $(INCLS)
  102. ienumfe.obj   : ienumfe.cpp   $(INCLS)
  103. render.obj    : render.cpp    $(INCLS)
  104. $(TARGET).res : $(TARGET).rc  $(INCLS) $(RCFILES)
  105.